<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        //方式一:使用js预定义对象Object创建对象
        var obj=new Object();
        // 对象名.属性名=值   或者 对象名["属性名"]=值
        obj.id=1;
        obj.name="admin";
        obj.age=20;
        obj["height"]=178;

        //取值:对象名.属性名或者对象名["属性名"]
        console.log(obj);
        console.log(obj.id);
        console.log(obj["name"]);
        console.log(obj.height);
        //方式二:自定义构造函数
        function User(id,username,password){//与普通函数的区别：一般构造函数名字要大写
            this.id=id;
            this.username=username;
            this.password=password;
        }
        var user=new User(1,"admin","123");
        console.log(user);

        // 方式三:使用JSON格式定义对象
        var u={
            "id":1,
            "username":"alice",
            "age":20
        };
        console.log(u);

        //方式四:使用JSON字符串进行定义
        // var u2="{'id':1,'username':'coco','password':'123'}";
        var u2='{"id":1,"username":"coco","password":"123"}';
        console.log(typeof  u2);

        //将一个JSON格式的字符串转换成JSON对象
        // 方式一:使用eval()实现，在解析的时候，必须使用一对小括号将JSON格式字符串括起来进行转换，该方式安全性较低
        var o=eval("("+u2+")");
        console.log(o);

        // 方式二：使用JSON.parse()进行转换
        // 该方式对于JSON格式的字符串有限制
        // 此时的JSON格式字符串中的键值对必须使用双引号
        // 该方式安全性较高
        // var u3="{'id':1,'username':'coco','password':'123'}";
        var u3='{"id":1,"username":"coco","password":"123"}';
        var o2=JSON.parse(u3);
        console.log(o2);
    </script>
</head>
<body>

</body>
</html>